package com.fw.service.merchanttransactiondata.bean;

import java.math.BigDecimal;

import com.fw.service.bean.SessionInfoBean;
import com.fw.service.inboundmessagelog.bean.InboundMessageLogBean;

public class MerchantTransactionDataBean extends SessionInfoBean {

    public static final String PAYMENT_STATUS_APPROVE = "AP";
    public static final String PAYMENT_STATUS_SETTLED = "SE";
    public static final String PAYMENT_STATUS_VOIDED = "VO";
    public static final String PAYMENT_STATUS_DECLINCED = "DE";
    public static final String PAYMENT_STATUS_FAILED = "FA";
    public static final String PAYMENT_STATUS_PENDING = "PE";
    public static final String PAYMENT_STATUS_EXPIRED = "EX";
    public static final String PAYMENT_STATUS_REFUNDED = "RE";
    public static final String PAYMENT_STATUS_READY = "RS";
    public static final String PAYMENT_STATUS_AUTHENTICATED = "AU";
    public static final String PAYMENT_STATUS_INITIATED = "IN";
    public static final String PAYMENT_STATUS_FRAUD = "FP";
    public static final String PAYMENT_STATUS_PAID = "PA";
    public static final String PAYMENT_STATUS_MATCHED = "MA";

    private static final long serialVersionUID = 1L;
    private Long id;
    private long transactionId;
    private String paymentStatus; // Transactopn status.
    private String merchantGroupId; // Merchant

    private String merchantId;
    private Integer paymentService; // IPPL, CASH, CREDIT CARD
    private String merchantOrderNo; // Merchant invoice No.
    private String merchantOrderName;
    private String merchantOrderDescription;
    private String merchantOrderDate;

    private String sourceOfFundNo;
    private String eciCode;

    private String invoiceNo;// send to Cash, IPPL, Credit Card

    private String customerName;
    private String customerEmail;
    private String customerPhone;
    private String customerAddress;
    private String shipName;
    private String promotionCode;
    private Integer installment;
    private Double interestRate;
    private String modelCode;
    private String makerCode;
    private String productCode;

    private String lang;
    private String currencyCode;
    private Double currencyRate;
    private BigDecimal currencyConvertValue;

    private Double mdrRate;
    private BigDecimal mdrValue;
    private Double serviceFeeRate;
    private BigDecimal serviceFeeValue;

    private String transactionDate;
    private BigDecimal amount;

    private String settlementDate;
    private BigDecimal settlementAmount;
    private String voidDate;
    private BigDecimal voidAmount;
    private String refundDate;
    private BigDecimal refundAmount;
    private String expiryDate;

    private String ptransid;
    private String url;
    private String payCode;
    private String paymentDate;
    private BigDecimal paymentAmount;
    private String processDate;

    private String createDate;
    private String createBy;
    private String updateDate;
    private String updateBy;

    // added
    private Long inboundMessageLogId;
    private Long outboundMessageLogId;
    private InboundMessageLogBean inboundMessageLogBean;

    public long getTransactionId() {
	return transactionId;
    }

    public void setTransactionId(long transactionId) {
	this.transactionId = transactionId;
    }

    public String getPaymentStatus() {
	return paymentStatus;
    }

    public void setPaymentStatus(String paymentStatus) {
	this.paymentStatus = paymentStatus;
    }

    public String getMerchantGroupId() {
	return merchantGroupId;
    }

    public void setMerchantGroupId(String merchantGroupId) {
	this.merchantGroupId = merchantGroupId;
    }

    public String getMerchantId() {
	return merchantId;
    }

    public void setMerchantId(String merchantId) {
	this.merchantId = merchantId;
    }

    public Integer getPaymentService() {
	return paymentService;
    }

    public void setPaymentService(Integer paymentService) {
	this.paymentService = paymentService;
    }

    public String getMerchantOrderNo() {
	return merchantOrderNo;
    }

    public void setMerchantOrderNo(String merchantOrderNo) {
	this.merchantOrderNo = merchantOrderNo;
    }

    public String getMerchantOrderName() {
	return merchantOrderName;
    }

    public void setMerchantOrderName(String merchantOrderName) {
	this.merchantOrderName = merchantOrderName;
    }

    public String getMerchantOrderDescription() {
	return merchantOrderDescription;
    }

    public void setMerchantOrderDescription(String merchantOrderDescription) {
	this.merchantOrderDescription = merchantOrderDescription;
    }

    public String getMerchantOrderDate() {
	return merchantOrderDate;
    }

    public void setMerchantOrderDate(String merchantOrderDate) {
	this.merchantOrderDate = merchantOrderDate;
    }

    public String getSourceOfFundNo() {
	return sourceOfFundNo;
    }

    public void setSourceOfFundNo(String sourceOfFundNo) {
	this.sourceOfFundNo = sourceOfFundNo;
    }

    public String getEciCode() {
	return eciCode;
    }

    public void setEciCode(String eciCode) {
	this.eciCode = eciCode;
    }

    public String getInvoiceNo() {
	return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
	this.invoiceNo = invoiceNo;
    }

    public String getCustomerName() {
	return customerName;
    }

    public void setCustomerName(String customerName) {
	this.customerName = customerName;
    }

    public String getCustomerEmail() {
	return customerEmail;
    }

    public void setCustomerEmail(String customerEmail) {
	this.customerEmail = customerEmail;
    }

    public String getCustomerPhone() {
	return customerPhone;
    }

    public void setCustomerPhone(String customerPhone) {
	this.customerPhone = customerPhone;
    }

    public String getCustomerAddress() {
	return customerAddress;
    }

    public void setCustomerAddress(String customerAddress) {
	this.customerAddress = customerAddress;
    }

    public String getShipName() {
	return shipName;
    }

    public void setShipName(String shipName) {
	this.shipName = shipName;
    }

    public String getPromotionCode() {
	return promotionCode;
    }

    public void setPromotionCode(String promotionCode) {
	this.promotionCode = promotionCode;
    }

    public Integer getInstallment() {
	return installment;
    }

    public void setInstallment(Integer installment) {
	this.installment = installment;
    }

    public Double getInterestRate() {
	return interestRate;
    }

    public void setInterestRate(Double interestRate) {
	this.interestRate = interestRate;
    }

    public String getModelCode() {
	return modelCode;
    }

    public void setModelCode(String modelCode) {
	this.modelCode = modelCode;
    }

    public String getMakerCode() {
	return makerCode;
    }

    public void setMakerCode(String makerCode) {
	this.makerCode = makerCode;
    }

    public String getProductCode() {
	return productCode;
    }

    public void setProductCode(String productCode) {
	this.productCode = productCode;
    }

    public String getLang() {
	return lang;
    }

    public void setLang(String lang) {
	this.lang = lang;
    }

    public String getCurrencyCode() {
	return currencyCode;
    }

    public void setCurrencyCode(String currencyCode) {
	this.currencyCode = currencyCode;
    }

    public Double getCurrencyRate() {
	return currencyRate;
    }

    public void setCurrencyRate(Double currencyRate) {
	this.currencyRate = currencyRate;
    }

    public BigDecimal getCurrencyConvertValue() {
	return currencyConvertValue;
    }

    public void setCurrencyConvertValue(BigDecimal currencyConvertValue) {
	this.currencyConvertValue = currencyConvertValue;
    }

    public Double getMdrRate() {
	return mdrRate;
    }

    public void setMdrRate(Double mdrRate) {
	this.mdrRate = mdrRate;
    }

    public BigDecimal getMdrValue() {
	return mdrValue;
    }

    public void setMdrValue(BigDecimal mdrValue) {
	this.mdrValue = mdrValue;
    }

    public Double getServiceFeeRate() {
	return serviceFeeRate;
    }

    public void setServiceFeeRate(Double serviceFeeRate) {
	this.serviceFeeRate = serviceFeeRate;
    }

    public BigDecimal getServiceFeeValue() {
	return serviceFeeValue;
    }

    public void setServiceFeeValue(BigDecimal serviceFeeValue) {
	this.serviceFeeValue = serviceFeeValue;
    }

    public String getTransactionDate() {
	return transactionDate;
    }

    public void setTransactionDate(String transactionDate) {
	this.transactionDate = transactionDate;
    }

    public BigDecimal getAmount() {
	return amount;
    }

    public void setAmount(BigDecimal amount) {
	this.amount = amount;
    }

    public String getSettlementDate() {
	return settlementDate;
    }

    public void setSettlementDate(String settlementDate) {
	this.settlementDate = settlementDate;
    }

    public BigDecimal getSettlementAmount() {
	return settlementAmount;
    }

    public void setSettlementAmount(BigDecimal settlementAmount) {
	this.settlementAmount = settlementAmount;
    }

    public String getVoidDate() {
	return voidDate;
    }

    public void setVoidDate(String voidDate) {
	this.voidDate = voidDate;
    }

    public BigDecimal getVoidAmount() {
	return voidAmount;
    }

    public void setVoidAmount(BigDecimal voidAmount) {
	this.voidAmount = voidAmount;
    }

    public String getRefundDate() {
	return refundDate;
    }

    public void setRefundDate(String refundDate) {
	this.refundDate = refundDate;
    }

    public BigDecimal getRefundAmount() {
	return refundAmount;
    }

    public void setRefundAmount(BigDecimal refundAmount) {
	this.refundAmount = refundAmount;
    }

    public String getExpiryDate() {
	return expiryDate;
    }

    public void setExpiryDate(String expiryDate) {
	this.expiryDate = expiryDate;
    }

    public String getPtransid() {
	return ptransid;
    }

    public void setPtransid(String ptransid) {
	this.ptransid = ptransid;
    }

    public String getUrl() {
	return url;
    }

    public void setUrl(String url) {
	this.url = url;
    }

    public String getPayCode() {
	return payCode;
    }

    public void setPayCode(String payCode) {
	this.payCode = payCode;
    }

    public String getPaymentDate() {
	return paymentDate;
    }

    public void setPaymentDate(String paymentDate) {
	this.paymentDate = paymentDate;
    }

    public BigDecimal getPaymentAmount() {
	return paymentAmount;
    }

    public void setPaymentAmount(BigDecimal paymentAmount) {
	this.paymentAmount = paymentAmount;
    }

    public String getProcessDate() {
	return processDate;
    }

    public void setProcessDate(String processDate) {
	this.processDate = processDate;
    }

    public String getCreateDate() {
	return createDate;
    }

    public void setCreateDate(String createDate) {
	this.createDate = createDate;
    }

    public String getCreateBy() {
	return createBy;
    }

    public void setCreateBy(String createBy) {
	this.createBy = createBy;
    }

    public String getUpdateDate() {
	return updateDate;
    }

    public void setUpdateDate(String updateDate) {
	this.updateDate = updateDate;
    }

    public String getUpdateBy() {
	return updateBy;
    }

    public void setUpdateBy(String updateBy) {
	this.updateBy = updateBy;
    }

    public Long getId() {
	return id;
    }

    public void setId(Long id) {
	this.id = id;
    }

    public Long getInboundMessageLogId() {
	return inboundMessageLogId;
    }

    public void setInboundMessageLogId(Long inboundMessageLogId) {
	this.inboundMessageLogId = inboundMessageLogId;
    }

    public Long getOutboundMessageLogId() {
	return outboundMessageLogId;
    }

    public void setOutboundMessageLogId(Long outboundMessageLogId) {
	this.outboundMessageLogId = outboundMessageLogId;
    }

    public InboundMessageLogBean getInboundMessageLogBean() {
	return inboundMessageLogBean;
    }

    public void setInboundMessageLogBean(InboundMessageLogBean inboundMessageLogBean) {
	this.inboundMessageLogBean = inboundMessageLogBean;
    }

}
